Classic Edition: the symbol ⊆ (Left Shoe Underbar) is not available in Classic Edition, and Partition is instead represented by ⎕U2286.
Y may be any non-scalar array.
X must be a simple scalar or vector of non-negative integers.
The axis specification is optional. If present, it must be a simple integer scalar or one element array representing an axis of Y. If absent, the last axis is implied.
R is an array of the elements of Y partitioned according to X.
A new partition is started in the result whenever the corresponding element in X is greater than the previous one. Items in Y corresponding to 0s in X are not included in the result.
Note that if ⎕ML≥3, the symbol ⊂ means the same as ⊆.
Examples
⎕ML←3 ]display 1 1 1 2 2 3 3 3⊆'NOWISTHE' ┌→─────────────────┐ │ ┌→──┐ ┌→─┐ ┌→──┐ │ │ │NOW│ │IS│ │THE│ │ │ └───┘ └──┘ └───┘ │ └∊─────────────────┘ ]display 1 1 1 0 0 3 3 3⊆'NOWISTHE' ┌→────────────┐ │ ┌→──┐ ┌→──┐ │ │ │NOW│ │THE│ │ │ └───┘ └───┘ │ └∊────────────┘ TEXT←' NOW IS THE TIME ' ]display (' '≠TEXT)⊆TEXT ┌→────────────────────────┐ │ ┌→──┐ ┌→─┐ ┌→──┐ ┌→───┐ │ │ │NOW│ │IS│ │THE│ │TIME│ │ │ └───┘ └──┘ └───┘ └────┘ │ └∊────────────────────────┘
]display CMAT←⎕FMT(' ',ROWS),COLS⍪NMAT ┌→─────────────────────────┐ ↓ Jan Feb Mar │ │ Cakes 0 100 150 │ │ Biscuits 0 0 350 │ │ Buns 0 1000 500 │ └──────────────────────────┘
]display (∨⌿' '≠CMAT)⊆CMAT ⍝ Split at blank cols. ┌→──────────────────────────────┐ ↓ ┌→───────┐ ┌→──┐ ┌→───┐ ┌→──┐ │ │ │ │ │Jan│ │ Feb│ │Mar│ │ │ └────────┘ └───┘ └────┘ └───┘ │ │ ┌→───────┐ ┌→──┐ ┌→───┐ ┌→──┐ │ │ │Cakes │ │ 0│ │ 100│ │150│ │ │ └────────┘ └───┘ └────┘ └───┘ │ │ ┌→───────┐ ┌→──┐ ┌→───┐ ┌→──┐ │ │ │Biscuits│ │ 0│ │ 0│ │350│ │ │ └────────┘ └───┘ └────┘ └───┘ │ │ ┌→───────┐ ┌→──┐ ┌→───┐ ┌→──┐ │ │ │Buns │ │ 0│ │1000│ │500│ │ │ └────────┘ └───┘ └────┘ └───┘ │ └∊──────────────────────────────┘ ]display N←4 4⍴⍳16 ┌→──────────┐ ↓ 1 2 3 4│ │ 5 6 7 8│ │ 9 10 11 12│ │13 14 15 16│ └~──────────┘ ]display 1 1 0 1⊆N ┌→─────────────┐ ↓ ┌→──┐ ┌→┐ │ │ │1 2│ │4│ │ │ └~──┘ └~┘ │ │ ┌→──┐ ┌→┐ │ │ │5 6│ │8│ │ │ └~──┘ └~┘ │ │ ┌→───┐ ┌→─┐ │ │ │9 10│ │12│ │ │ └~───┘ └~─┘ │ │ ┌→────┐ ┌→─┐ │ │ │13 14│ │16│ │ │ └~────┘ └~─┘ │ └∊─────────────┘
]display 1 1 0 1⊆[1]N ┌→────────────────────────┐ ↓ ┌→──┐ ┌→──┐ ┌→──┐ ┌→──┐ │ │ │1 5│ │2 6│ │3 7│ │4 8│ │ │ └~──┘ └~──┘ └~──┘ └~──┘ │ │ ┌→─┐ ┌→─┐ ┌→─┐ ┌→─┐ │ │ │13│ │14│ │15│ │16│ │ │ └~─┘ └~─┘ └~─┘ └~─┘ │ └∊────────────────────────┘